﻿using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Web;
using DHQGHN.DAL.Models.DanhMuc;
using DHQGHN.DAL.Models.QTHT;
using DHQGHN.DAL.Models.TDT;

namespace DHQGHN.Services
{
    public class HeaderInfo
    {
        public long CurrentTime { get; set; }
        public int ErrorCode { get; set; }
        public string ErrorMessage { get; set; }
    }

    public class MasterListTablet
    {
        public long CurrentTime { get; set; }
        public int ErrorCode { get; set; }
        public string ErrorMessage { get; set; }
        public IEnumerable<MasterList> Data { get; set; }
       
    }

    public class CommonListTablet
    {
        public long CurrentTime { get; set; }               //Thời điểm lấy dữ liệu
        public int ErrorCode { get; set; }                  //Mã lỗi
        public string ErrorMessage { get; set; }            //Nội dung lỗi
        public IEnumerable<CommonList> Data { get; set; }   //Danh sách dữ liệu trả về

    }

    public class jCommonList
    {
        public long ID { get; set; }
        public string CODE { get; set; }
        public string NAME { get; set; }
        public string DESCRIPTIONS { get; set; }
        public int DELETED { get; set; }
        public int START_DATE { get; set; }
        public int END_DATE { get; set; }
        public DateTime LAST_UPDATED { get; set; }
    }

    public class AreaTablet
    {
        public long CurrentTime { get; set; }
        public int ErrorCode { get; set; }
        public string ErrorMessage { get; set; }
        public IEnumerable<Area> Data { get; set; }

    }

    public class AdministrativeUnitTablet
    {
        public long CurrentTime { get; set; }
        public int ErrorCode { get; set; }
        public string ErrorMessage { get; set; }
        public IEnumerable<AdministrativeUnit> Data { get; set; }
    }


    
    public class T_Users
    {
        public long CurrentTime { get; set; }
        public int ErrorCode { get; set; }
        public string ErrorMessage { get; set; }
        public TabletUsers USERS { get; set; }
        public IEnumerable<ENUMERATOR> ENUMERATOR { get; set; }
        public IEnumerable<AREA_BOUNDPOINT> AREA_BOUNDPOINT { get; set; }
        public IEnumerable<AREA> AREA { get; set; }   //Danh sách dữ liệu danh mục Địa bàn điều tra
        public IEnumerable<Area_Enum> AREA_ENUM { get; set; }   //Danh sách dữ liệu Địa bàn điều tra-Điều tra viên
    }

    public class HouseHoldAndResDataObject
    {
        public long CurrentTime { get; set; }               //Thời điểm lấy dữ liệu
        public int ErrorCode { get; set; }                  //Mã lỗi
        public string ErrorMessage { get; set; }            //Nội dung lỗi
        public int NumberOfHouseHold { get; set; }               //Số lượng hộ dân cư trả về
        public IEnumerable<HOUSEHOLD> HOUSEHOLD { get; set; }   //Danh sách dữ liệu hộ
        public IEnumerable<RESIDENT> RESIDENT { get; set; }   //Danh sách dữ liệu công dân
    }


    public class HouseHoldAndResDataObjectType2
    {
        public long CurrentTime { get; set; }               //Thời điểm lấy dữ liệu
        public int ErrorCode { get; set; }                  //Mã lỗi
        public string ErrorMessage { get; set; }            //Nội dung lỗi
        public int NumberOfHouseHold { get; set; }               //Số lượng bản ghi trả về
        public IEnumerable<HOUSEHOLD_DOWNLOAD> HOUSEHOLD { get; set; }   //Danh sách dữ liệu hộ 

        public HouseHoldAndResDataObjectType2()
        {
            HOUSEHOLD = new List<HOUSEHOLD_DOWNLOAD>();            
        }
    }


    public class ListDataObject
    {
        public long CurrentTime { get; set; }               //Thời điểm lấy dữ liệu
        public int ErrorCode { get; set; }                  //Mã lỗi
        public string ErrorMessage { get; set; }            //Nội dung lỗi
        public int RecordCount { get; set; }               //Số lượng bản ghi trả về
        
        public IEnumerable<ADMINISTRATIVE_UNIT> ADMINISTRATIVE_UNIT { get; set; }   //Danh sách dữ liệu danh mục ĐVHC
        //public IEnumerable<AREA> AREA { get; set; }   //Danh sách dữ liệu danh mục Địa bàn điều tra
        //public IEnumerable<AreaBoundPoint> AREA_BOUNDPOINT { get; set; }   //Danh sách dữ liệu đường bao của địa bàn điều tra
        //public IEnumerable<Area_Enum> AREA_ENUM { get; set; }   //Danh sách dữ liệu Địa bàn điều tra-Điều tra viên
        public IEnumerable<COUNTRY> COUNTRY { get; set; }   //Danh sách dữ liệu danh mục Quốc gia
        public IEnumerable<DRLS_Issuer> DRLS_ISSUER { get; set; }   //Danh sách dữ liệu danh mục Nơi cấp GPLX
        public IEnumerable<EDUCATION_TRAINING> EDUCATION_TRAINING { get; set; }   //Danh sách dữ liệu danh mục Trình độ học vấn
        //public IEnumerable<ENUMERATOR> ENUMERATOR { get; set; }   //Danh sách dữ liệu Điều tra viên
        public IEnumerable<ETHNIC> ETHNIC { get; set; }   //Danh sách dữ liệu danh mục Dân tộc
        public IEnumerable<GENDER> GENDER { get; set; }   //Danh sách dữ liệu danh mục Giới tính
        public IEnumerable<HH_RELATIONSHIP> HH_RELATIONSHIP { get; set; }   //Danh sách dữ liệu danh mục Quan hệ với chủ hộ
        public IEnumerable<IDCARD_ISSUER> IDCARD_ISSUER { get; set; }   //Danh sách dữ liệu danh mục Nơi cấp CMND
        public IEnumerable<MARITAL_STATUS> MARITAL_STATUS { get; set; }   //Danh sách dữ liệu danh mục trạng thái hôn nhân
        public IEnumerable<OCCUPATION> OCCUPATION { get; set; }   //Danh sách dữ liệu danh mục Nghề nghiệp
        public IEnumerable<PASSPORT_ISSUER> PASPORT_ISSUER { get; set; }   //Danh sách dữ liệu danh mục Nơi cấp hộ chiếu
        public IEnumerable<PASSPORT_TYPE> PASSPORT_TYPE { get; set; }   //Danh sách dữ liệu danh mục Loại hộ chiếu
        public IEnumerable<RELIGION> RELIGION { get; set; }   //Danh sách dữ liệu danh mục Tôn giáo
        public IEnumerable<RESIDENT_GROUP> RESIDENT_GROUP { get; set; }   //Danh sách dữ liệu danh mục Nhóm công dân
        public IEnumerable<RESIDENT_STATUS> RESIDENT_STATUS { get; set; }   //Danh sách dữ liệu danh mục Trạng thái công dân
        public IEnumerable<SURVEY_METHOD> SURVEY_METHOD { get; set; }   //Danh sách dữ liệu danh mục Phương thức điều tra
        public IEnumerable<TAX_CODE_ISSUER> TAX_CODE_ISSUER { get; set; }   //Danh sách dữ liệu danh mục Nơi cấp mã số thuế

        public IEnumerable<EDUCATION_LEVEL> EDUCATION_LEVEL { get; set; }
        public IEnumerable<TECHNICAL_LEVEL> TECHNICAL_LEVEL { get; set; }
        public IEnumerable<BLOOD_GROUP> BLOOD_GROUP { get; set; }
        public IEnumerable<SERIOUS_DISEASES> SERIOUS_DISEASES { get; set; }
        public IEnumerable<DISABILITY_STATUS> DISABILITY_STATUS { get; set; }
        public IEnumerable<INSURANCE_STATUS> INSURANCE_STATUS { get; set; }
        public IEnumerable<OCCUP_STATUS> OCCUP_STATUS { get; set; }
        public IEnumerable<COURT> COURT { get; set; }
        public IEnumerable<DEATH_CAUSE> DEATH_CAUSE { get; set; }
        public IEnumerable<INSURANCE_TYPE> INSURANCE_TYPE { get; set; }
    }

    public class ADDRESS_ADMUNITEXT_RET
    {
        public long CurrentTime { get; set; }               //Thời điểm lấy dữ liệu
        public int ErrorCode { get; set; }                  //Mã lỗi
        public string ErrorMessage { get; set; }            //Nội dung lỗi
        public int RecordCount { get; set; }               //Số lượng bản ghi trả về

        public IEnumerable<ADDRESS> ADDRESS { get; set; }
        public IEnumerable<ADM_UNIT_EXT> ADM_UNIT_EXT { get; set; }   
    }

    public class TableName
    {
        public const string HOUSEHOLD = "HOUSEHOLD";
        public const string RESIDENT = "RESIDENT";
        public const string COUNTRY = "COUNTRY";
        public const string ADDRESS = "ADDRESS";
        public const string ADM_UNIT_EXT = "ADM_UNIT_EXT";
        public const string DRLS_ISSUER = "DRLS_ISSUER";
        public const string ETHNIC = "ETHNIC";
        public const string GENDER = "GENDER";
        public const string HH_RELATIONSHIP = "RELATION";
        public const string IDCARD_ISSUER = "IDCARD_ISSUER";
        public const string MARITAL_STATUS = "MARITAL_STATUS";
        public const string PASSPORT_ISSUER = "PASSPORT_ISSUER";
        public const string PASSPORT_TYPE = "PASSPORT_TYPE";
        public const string RELIGION = "RELIGION";
        public const string RESIDENT_GROUP = "RESIDENT_GROUP";
        public const string RESIDENT_STATUS = "RESIDENT_STATUS";
        public const string SURVEY_METHOD = "SURVEY_METHOD";
        public const string TAX_CODE_ISSUER = "TAX_CODE_ISSUER";

        public const string ADMINISTRATIVE_UNIT = "ADM_UNIT";
        public const string AREA = "AREA";
        public const string AREA_ENUM = "AREA_ENUM";
        public const string EDUCATION_TRAINING = "EDUCATION_TRAINING";
        public const string OCCUPATION = "OCCUPATION";

        public const string EDUCATION_LEVEL = "EDUCATION_LEVEL";
        public const string TECHNICAL_LEVEL = "TECHNICAL_LEVEL";
        public const string BLOOD_GROUP = "BLOOD_GROUP";
        public const string SERIOUS_DISEASES = "SERIOUS_DISEASES";
        public const string DISABILITY_STATUS = "DISABILITY_STATUS";
        public const string INSURANCE_STATUS = "INSURANCE_STATUS";
        public const string OCCUP_STATUS = "OCCUP_STATUS";
        public const string COURT = "COURT";
        public const string DEATH_CAUSE = "DEATH_CAUSE";
        public const string INSURANCE_TYPE = "INSURANCE_TYPE";
    }

}